package de.reichelt.fxrequi.data;

import java.util.Date;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;

public class Glossary {
  private final IntegerProperty id = new SimpleIntegerProperty();
  private final StringProperty projectName = new SimpleStringProperty();
  private final StringProperty name = new SimpleStringProperty();
  private final StringProperty synonyms = new SimpleStringProperty();
  private final StringProperty descr = new SimpleStringProperty();
  private final ObjectProperty<Date> dateCreated = new SimpleObjectProperty<>();
  private final StringProperty userCreated = new SimpleStringProperty();

  public Glossary() {
  }

  public Glossary(Integer id, String projectName, String name, String synonyms, String descr,
          Date dateCreated, String userCreated) {
    setId(id);
    setProjectName(projectName);
    setName(name);
    setSynonyms(synonyms);
    setDescr(descr);
    setDateCreated(dateCreated);
    setUserCreated(userCreated);
  }

  public int getId() {
    return id.get();
  }

  public void setId(int value) {
    id.set(value);
  }

  public IntegerProperty idProperty() {
    return id;
  }
  
  public String getProjectName() {
    return projectName.get();
  }

  public void setProjectName(String value) {
    projectName.set(value);
  }

  public StringProperty projectNameProperty() {
    return projectName;
  }
  
  
  public String getName() {
    return name.get();
  }

  public void setName(String value) {
    name.set(value);
  }

  public StringProperty nameProperty() {
    return name;
  }
  
  public String getSynonyms() {
    return synonyms.get();
  }

  public void setSynonyms(String value) {
    synonyms.set(value);
  }

  public StringProperty synonymsProperty() {
    return synonyms;
  }
  
  public String getDescr() {
    return descr.get();
  }

  public void setDescr(String value) {
    descr.set(value);
  }

  public StringProperty descrProperty() {
    return descr;
  }
  
  public Date getDateCreated() {
    return dateCreated.get();
  }

  public void setDateCreated(Date value) {
    dateCreated.set(value);
  }

  public ObjectProperty dateCreatedProperty() {
    return dateCreated;
  }
  
  public String getUserCreated() {
    return userCreated.get();
  }

  public void setUserCreated(String value) {
    userCreated.set(value);
  }

  public StringProperty userCreatedProperty() {
    return userCreated;
  }
  
}
